#pragma once

#include "Vector2D.h"
#include "Vector3D.h"

namespace Pulpy
{
	class BoundingBox
	{
	private:
		float _Width;
		float _Height;
		float _Depth;
		float _Radius;
		float _PosX;
		float _PosY;
		float _PosZ;
	public:
		BoundingBox(float width = 0, float height = 0, float depth = 0, float radius = 0): _Width(width), _Height(height), _Depth(depth), _Radius(radius) { };
		void setPosition(float x, float y, float z = 0) { _PosX = x; _PosY = y; _PosZ = z; }
		void setPosition(Vector2D<float> &v) { setPosition(v.getX(), v.getY()); }
		void setPosition(Vector3D<float> &v) { setPosition(v.getX(),v.getY(), v.getZ()); }
		virtual bool Contain(const BoundingBox &b) = 0;
		virtual bool Intersects(const BoundingBox &b) = 0;
	};
}